As a new generation of technical platform of Microsoft, .NET is a new cross-language development platform based on the Internet, which conforms to the trend of software industry in the aspects such as distributed computing, component-oriented development or enterprise-oriented application, Software-as-a-Service and Web-centered development. Though .NET is not a developing language, the .NET development platform supports multiple developing languages such as C#, C++, Visual Basic, and Jscript.
With a similar size of a normal business card, a smart card is a plastic card containing a silicon chip with a diameter of about 1 cm, and has functions as storing information and complex computing. Smartcards are widely used in telephone cards, banking cards, identity identification cards, and in many fields such as mobile phones and prepaid TV. A smart card is regarded as the smallest computer in the world for its integration of microprocessor, storage and input/output unit on the chip of the smart card. Furthermore, with a strong security control mechanism, the security control program is fixed in read-only memory (ROM), which provides reliable guarantee of limited copying and password-guard read/write. Compared with a general magnetic card, the smart card has many advantages such as massive storage capacity and enhanced functions by using micro-processes.
.NET card is a microprocessor smart card including a .NET virtual machine where .NET programs can be executed. A virtual machine can be viewed as a software emulation of a machine with hardware such as processor, memory and register, by which various instructions can be emulated. There are no special requirements for the runtime environment by software running on the machine; hence the virtual machine is transparent to the programs running on it. For example, an x86 virtual machine emulates a runtime environment of x86 instructions and programs, and a c51 virtual machine emulates a runtime environment of c51 instructions and programs. The .NET card invokes classes and functions in a standard class library at the time of running the application programs.
A conventional way to search for a class is: first obtaining the class name and namespace of a class to be found, and then searching for the class in a standard class library one by one till the class in accordance with the class name and namespace is found. A conventional method for searching for a function is: first finding a class that the function belongs to, and then obtaining the name, returned result and parameter type of the function; and searching one by one for the function in accordance with the name, number of parameters and parameter type in the standard class library.
The conventional way to find a function does not meet requirements of .NET cards because of limited memory and the low operation speed of .NET cards.